1. Field
The following description relates to methods and devices for detecting extrema in a tile-based graphics processing unit (GPU).
2. Description of Related Art
In an example, a feature is detected by identifying a local feature or a point of interest in an image that may be used for computer vision applications, such as, for example, an application for object detection, an application for object recognition, and an application for face detection. The method of detecting a feature provides various approaches for computerized object recognition, object detection, image matching, and three-dimensional (3D) reconstruction. Various computations are performed by a graphics processing unit (GPU) to identify the local feature or the point of interest in the image.
An point of interest in an image may be defined based on a function of the image, such as a series of filtering operations performed after detection of extrema. The extrema is one of important characteristics of an object, and in an example, the extrema is defined as the leftmost, rightmost, uppermost, and lowermost points of the object with respect to a reference frame of an image. Based on such data of extreme points, a bounding box having a rectangular shape that encompasses the object is defined. The bounding box is used to confine a region of the image, which is to be analyzed in order to identify detailed characteristics of the object.
Scale invariant feature transform (SIFT) is a method utilized to detect and extract local feature descriptors that may be invariant to changes in, for example, illumination, image noise, rotation, scaling, and viewpoints. The SIFT may be applied to computer vision problems, such as, for example, object recognition, face recognition, object detection, image matching, 3D structure construction, stereo correspondence, and motion tracking. SIFT may be a time-consuming operation, and there may be some cases (e.g. online object recognition) in which SIFT features are required to be extracted and matched in real-time. Extraction of the SIFT features is implemented or accelerated in the GPU. However, SIFT is a serial operation and is designed to be performed by a single processor system. Parallelization of SIFT may cause load imbalance and deteriorate scaling efficiency.
Conventional systems use various methods of detecting a feature. However, these conventional methods require high power and computation resources. As GPUs have limited memory and computing capacity, and have energy sensitivity, a method of detecting a feature with energy efficiency is needed.